home *** CD-ROM | disk | FTP | other *** search
/ Digital Talk 53 / Digital_Talk_53_2002-02-11_Digital_Talk_de_Side_A.d64 / spritedit v7_kht (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  5KB  |  178 lines

  1. 0 rem ------kht-spritedit07------
  2. 1 q=peek(820):q1=peek(821):on-(q1=0)goto7:onqgoto3,4,5,6:gosub90:goto602
  3. 2 poke820,1:poke646,15:list49-70
  4. 3 poke820,2:goto100
  5. 4 goto410
  6. 5 poke820,4:load"mskhtsprite01",8,1
  7. 6 gosub90:goto760
  8. 7 poke821,1:load"load/save.obj",8,1
  9. 8 open15,8,15,"s:kht-spritedit07":close15:save"kht-spritedit07",8:end
  10. 9 open4,4:open5,4,6:cmd4:print#5,chr$(30):close5:close4:end
  11. 10 data  0,   0,   0
  12. 11 data  0,   0,   0
  13. 12 data  0,   0,   0
  14. 13 data  0,   0,   0
  15. 14 data  0,   0,   0
  16. 15 data  0,   0,   0
  17. 16 data  0,   0,   0
  18. 17 data  0,   0,   0
  19. 18 data  0,   0,   0
  20. 19 data  0,   0,   0
  21. 20 data  0,   0,   0
  22. 21 data  0,   0,   0
  23. 22 data  0,   0,   0
  24. 23 data  0,   0,   0
  25. 24 data  0,   0,   0
  26. 25 data  0,   0,   0
  27. 26 data  0,   0,   0
  28. 27 data  0,   0,   0
  29. 28 data  0,   0,   0
  30. 29 data  0,   0,   0
  31. 30 data  0,   0,   0
  32. 49 rem  765432107654321076543210
  33. 50 data ........................
  34. 51 data ........................
  35. 52 data ........................
  36. 53 data ........................
  37. 54 data ........................
  38. 55 data ........................
  39. 56 data ........................
  40. 57 data ........................
  41. 58 data ........................
  42. 59 data ........................
  43. 60 data ........................
  44. 61 data ........................
  45. 62 data ........................
  46. 63 data ........................
  47. 64 data ........................
  48. 65 data ........................
  49. 66 data ........................
  50. 67 data ........................
  51. 68 data ........................
  52. 69 data ........................
  53. 70 data ........................
  54. 90 d$="data[155]":k$="[157],":wr$="weiter mit <[155]return[152]>[155][145][145]":return
  55. 100 fori=0to62:readd:next:gosub90
  56. 200 fori=10to30:print"[152]"i;d$;:reada$
  57. 230 forj=0to2:b$=mid$(a$,8*j+1,8):z=0
  58. 260 fork=1to8:c$=mid$(b$,k,1)
  59. 280 ifc$="."thenz=2*z
  60. 290 ifc$="*"thenz=2*z+1
  61. 300 next
  62. 302 z0=2:ifz>9thenz0=z0-1
  63. 303 ifz>99thenz0=z0-1
  64. 308 ifj=2then320
  65. 310 printtab(5*j+9+z0)z;k$;:next
  66. 320 printtab(5*j+9+z0)z;
  67. 330 next:print:next:gosub380:stop
  68. 380 print"             [158]zeilen-<return> dann 'run'"
  69. 390 print"             [152]neustart  [155]'goto 922'[145][145][145]":return
  70. 410 print"[147][152]daten in den speicher setzen ? <j[152]/n[152]>"
  71. 420 r$="":getr$:ifr$<>"j"andr$<>"n"then420
  72. 422 on-(r$="j")goto430:goto900
  73. 430 print"[152]an welchen sprite-speicherplatz ?":print"zahl 13[152]-15[152] od";
  74. 432 print"er 128[152]-255[152] eingeben":print"an spritespeicher: [158]";:poke19,1
  75. 434 inputm0:poke19,0:print:m=m0*64:print"[152]sollen die daten ab speicher";
  76. 436 print"stelle":print"[157]"m"[152]in den speicher"
  77. 438 print"eingelesen werden?  <j[152]/n[152]>"
  78. 440 r$="":getr$:ifr$<>"j"andr$<>"n"then440
  79. 442 on-(r$="j")goto452:goto900
  80. 452 restore:fori=0to62:readd:pokem+i,d:next:print"[152]die daten sind nun ";
  81. 460 print"gespeichert !":print"[152]daten-kontrolle?   <j[152]/n[152]>"
  82. 464 r$="":getr$:ifr$<>"j"andr$<>"n"then464
  83. 466 ifr$="j"then470
  84. 468 goto900
  85. 470 print"[147]":gosub90
  86. 471 fori=0to62step3:m1=peek(m+i):m2=peek(m+i+1):m3=peek(m+i+2)
  87. 472 print"[152]"m+i"[155]";:ifm1>99then478
  88. 474 ifm1>9then477
  89. 476 print" ";
  90. 477 print" ";
  91. 478 printm1;:ifm2>99then484
  92. 479 ifm2>9then483
  93. 482 print" ";
  94. 483 print" ";
  95. 484 printm2;:ifm3>99then494
  96. 485 ifm3>9then493
  97. 492 print" ";
  98. 493 print" ";
  99. 494 printm3:next:printtab(17)"[152]"wr$
  100. 495 r$="":getr$:ifr$<>chr$(13)then495
  101. 496 goto900
  102. 512 poke2040,m0:poke53248,32:poke53264,1:poke53249,78:poke53287,1
  103. 520 poke53271,1:poke53277,1:poke53269,1:return
  104. 530 gosub512:poke820,0:run
  105. 602 poke53280,5:poke53281,11:poke646,12:poke53269,0
  106. 604 print"[147][158]sprite-editor von kahate[152]"
  107. 605 print"[144]  weiter mit  <return>  [146][152]"
  108. 606 r$="":getr$:ifr$<>chr$(13)then606
  109. 608 print"sprite n[152]eu editieren  taste":print"spritedaten a[152]nsehen?";
  110. 610 print"  <n[152]/a[152]>":print"oder e[152]rklaerung?  taste <e[152]>"
  111. 612 print"oder sprites speichern  <s[152]>"
  112. 614 r$="":getr$:ifr$<>"n"andr$<>"a"andr$<>"e"andr$<>"s"then614
  113. 616 on-(r$="n")-2*(r$="a")-3*(r$="e")-4*(r$="s")goto2,620,750,850:goto614
  114. 620 print"[152]an welchem sprite-platz":print"befinden sich die daten?"
  115. 624 print"zahl 13[152]-15[152] oder 128[152]-255[152] eingeben":print"spritespei";
  116. 626 print"cher-zahl: [158]";:poke19,1:inputm0:poke19,0:print:m=m0*64
  117. 628 print"[152]auswertung der spritedaten":print"ab speicherplatz:"m
  118. 630 print"[152]umrechnung <u[152]> - abbruch <a[152]>"
  119. 632 r$="":getr$:ifr$<>"u"andr$<>"a"then632
  120. 634 on-(r$="u")-2*(r$="a")goto650,900:goto632
  121. 640 m0$="":m0$=mid$(str$(m0),2)
  122. 642 iflen(m0$)>=3thenreturn
  123. 644 m0$=" "+m0$:goto642
  124. 650 poke820,1:print"[147][152]49 rem  765432107654321076543210":gosub640
  125. 652 print"[145][144]#[158]"m0$"[155]":fori=50to70:b$=mid$(str$(i),2)+chr$(32)
  126. 658 b$=b$+d$+chr$(32):forj=0to2:u=peek(m+(3*(i-50))+j):v=128
  127. 666 fork=0to7:onr1goto676
  128. 670 ifu>=vthenu$=u$+"*":goto690
  129. 672 ifu<vthenu$=u$+".":goto691
  130. 676 ifu>=vthenu$="*"+u$:goto690
  131. 678 ifu<vthenu$="."+u$:goto691
  132. 690 u=u-v
  133. 691 v=v-(v/2):next:next:b$=b$+u$:printb$:b$="":u$="":next:onr1goto790
  134. 700 printtab(8)"a[152]nzeige nr:        <+[152]/-[152]>"
  135. 702 printtab(8)"ab speicher       w[152]eiter[145][145]"
  136. 704 gosub640:printtab(22)"[158]"m0$"[152][145]"
  137. 710 r$="":getr$:ifr$="a"then800
  138. 712 on-(r$="+")-2*(r$="-")goto830,840
  139. 714 on-(r$="w")-2*(r$="n")goto720,922:goto710
  140. 720 printtab(8)" sprite zum spiegeln neu "
  141. 722 printtab(8)"   umrechnen?    <j[152]/n[152]>  [145][145]"
  142. 730 r$="":getr$:ifr$<>"n"andr$<>"j"then730
  143. 732 on-(r$="n")-2*(r$="j")goto740,742:goto730
  144. 740 r1=0:goto790
  145. 742 r1=1:goto650
  146. 750 poke820,3:run
  147. 760 sys49152:gosub380:sys49232:printtab(17)"[152]"wr$
  148. 762 r$="":getr$:ifr$<>chr$(13)then762
  149. 770 sys49240:print"z[152]urueck  oder  [152]"wr$
  150. 780 r$="":getr$:ifr$<>chr$(13)andr$<>"z"then780
  151. 782 ifr$=chr$(13)thenpoke820,0:goto604
  152. 784 on-(r$="z")goto760:goto780
  153. 790 gosub380:stop
  154. 800 gosub640:m=m0*64:m$="":m$=mid$(str$(m),2)
  155. 804 iflen(m$)>=5then810
  156. 806 m$=" "+m$:goto804
  157. 810 printtab(20)"[158]"m$"[152][145][145]":gosub512:goto704
  158. 830 m0=m0+1:ifm0>255thenm0=255
  159. 832 goto800
  160. 840 m0=m0-1:ifm0<0thenm0=0
  161. 842 goto800
  162. 850 sys694
  163. 860 print"[147][155]bitte befehl eingeben im format:"
  164. 862 print"save"chr$(34)"name"chr$(34)",8,0,start,ende"
  165. 864 print"und mit diesem direktbefehl wird"
  166. 866 print"der sprite-datenbereich als daten-"
  167. 868 print"block auf diskette gespeichert."
  168. 870 print"die speicheradressen fuer die daten-"
  169. 872 print"bereiche muessen natuerlich exakt"
  170. 874 print"eingegeben werden.":stop
  171. 900 print"[147]";
  172. 902 print"[152]sprite-a[152]nsicht prg-n[152]eustart e[152]nde?"
  173. 910 r$="":getr$:ifr$<>"a"andr$<>"n"andr$<>"e"then910
  174. 912 on-(r$="e")-2*(r$="n")goto920,922
  175. 914 on-(r$="a")gosub90:goto620
  176. 920 poke820,0:poke53280,14:poke53281,6:poke646,14:poke53269,0:print"[147]":end
  177. 922 poke53269,0:poke820,0:run
  178.